package com.qfmy.webapp.service.user;

import com.qfmy.model.entity.userInfo.UserInfo;
import com.qfmy.model.query.user.UserQuery;
import com.qfmy.model.vo.user.LoginVo;
import com.qfmy.model.vo.user.UserInfoVo;

/**
 * @author 清风明月
 * @Package com.qfmy.webapp.service.user
 * @date 2025/11/11
 * @description 用户表
 */
@SuppressWarnings("all")
public interface UserInfoService {


    /**
     * 获取短信验证码
     * @param phone
     */
    void getSmsCode(String phone);

    /**
     * 手机号 + 验证码登入
     * @param userQuery
     * @return
     */
    LoginVo loginPhoneAndCode(UserQuery userQuery);

    /**
     * 生成临时登录令牌
     * @return
     */
    String getTempLoginToken();

    /**
     * 获取用户二维码
     * @return
     */
    String getUserQrCode();

    /**
     * 修改用户信息
     * @param userInfo
     */
    void updateUserInfo(UserInfo userInfo);

    /**
     * 注销账号
     */
    void logout();

    /**
     * 退出
     */
    void exit();

    /**
     * 获取用户信息
     * @return
     */
    UserInfoVo getUserInfo();

    /**
     * 修改用户头像
     * @param avatar
     */
    void updateUserAvatar(String avatar);

    /**
     * 获取用户时长
     * @return
     */
    String getUserDuration();

    /**
     * 修改用户喜欢类型
     * @param categoryName
     */
    void updateUserLikeType(String categoryName);

    /**
     * 修改用户阅读时长
     * @param time
     */
    void updateUserReadTime(Integer time);

    /**
     * 修改用户支付密码
     * @param payPassword
     */
    void updateUserPayPassword(String payPassword);

    /**
     * 修改用户今日收益
     * @param income
     */
    void updateUserTodayIncome(Integer income);

    /**
     * 获取用户今日收益
     * @return
     */
    Integer getUserTodayIncome();

}
